<?php

class Database{
	
	private $mysqli = NULL;
	
	// Connecta till databasen. 
	public function Connect(DBConfig $config){
		
		$this->mysqli = new mysqli($config->m_host, $config->m_user, $config->m_pass, $config->m_db);	
		
		if($this->mysqli->connect_error){
			
			throw new Exception($this->mysqli->connect_error);
			
		}
		
		$this->mysqli->set_charset("utf8");
		return true;
	}
	// Checkfunktion om användare finns.
	// Kollar om namnet finns redan i databasen då namnet är unikt
	public function execute($stmt){
		if($stmt->execute() === false)
		{
			return false;
		}
		$stmt->store_result();
		$rows = $stmt->num_rows;
		
		
		return $rows;
		$stmt->close();

	}

	public function Prepare($sqlQuery){
	 	$stmt = $this->mysqli->prepare($sqlQuery);
		if($stmt === FALSE){
			throw new Exception($this->mysqli->error);
			return false;
		}
		return $stmt;		
	}

	// CloseFunktion
	// Stänger databasen efter sig.
	public function Close(){
		return $this->mysqli->close();
	}
	
	public function TestDatabase(){
		
		if($this->Connect(new DBconfig()) === false){
			echo "nu vart de nå snett då man bör vara connectad";
			return false;
		}
		$stmt = $this->Prepare("SELECT * FROM comment");
		if($stmt === false){
			echo "nu vart de nå snett då sql-satsen bör funka";
			return false;
		}
		if($this->execute($stmt) === false){
			echo "skit också";
			return false; 
		}
		return true;
		$this->Close();
	}

	
}
